package com.dkm.nettysocketdemo.myWebsite.service;

import com.dkm.nettysocketdemo.myWebsite.domain.HelmetUser;

import java.io.IOException;
import java.util.Date;
import java.util.List;

/**
 * @ClassName : HelmetUserService  //类名
 * @Description : 用户服务接口  //描述
 * @Author : 易嵘  //作者
 * @Date: 2021-03-04 14:30  //时间
 */
public interface HelmetUserService {

    /**
     * id查询
     * @param userId 用户id
     * @return 用户对象
     */
    HelmetUser findById(String userId);

    /**
     * 修改
     * @param user 需要修改的用户对象
     * @return 回调函数
     */
    int update(HelmetUser user);

    /**
     * 新增
     * @param user 需要新增的用户对象
     * @return 回调函数
     */
    int insert(HelmetUser user);

    /**
     * 登录判断
     * @param userAccountNumber 用户名称
     * @param userPwd 用户密码
     * @return 用户对象
     */
    HelmetUser isLogin(String userAccountNumber, String userPwd);

    List<HelmetUser> selectAll(String startTime, String endTime, Integer page, Integer limit, HelmetUser helmetUser );

    Integer rowCount(String startTime, String endTime, HelmetUser helmetUser);

    Integer updateById( String id, String usName);

    Integer updateByAll(List<String> ids, String usName);

    /**
     * 验证邮箱
     * @param userId 用户id
     * @return 回调函数
     */
    int mailVerify(String userId);

    /**
     * 邮箱查询
     * @param mail 邮箱
     * @return 用户对象
     */
    HelmetUser getMail(String mail);

    /**
     * 修改邮箱
     * @param myUser 用户对象
     * @return 回调函数
     */
    int updateEmail(HelmetUser myUser);

    /**
     * 修改密码
     * @param myUser
     * @return 回调函数
     */
    int updatePwd(HelmetUser myUser);

    /**
     * 上传图片
     * @param user
     * @return
     */
    String updateFile(HelmetUser user) throws IOException;
    /**
     * 检查是否重名
     * @param userAccountNumber 用户账号
     * @param pkClientId 客户id
     * @return 回调函数
     */
    Integer selectCount(String userAccountNumber,String pkClientId);
}
